package Q17_10_Majority_Element; public class QuestionB { public static int getCandidate(int[] array) { int majority = 0; int count = 0; for (int n : array) { if (count == 0) { majority = n; } if (n == majority) { count++; } else { count--; } } return majority; } public static boolean validate(int[] array, int majority) { int count = 0; for (int n : array) { if (n == majority) { count++; } } return count > array.length / 2; } public static int findMajorityElement(int[] array) { int candidate = getCandidate(array); return validate(array, candidate) ? candidate : -1; } public static void main(String[] args) { int[] array = {0, 0, 1, 2, 2, 0, 1, 0, 1, 1, 1, 1, 1}; System.out.println(array.length); System.out.println(findMajorityElement(array)); } }